﻿#include <stdio.h>

//main45：输出printf和接收scanf函数
int main45(void)
{
	char arr1[100];
	char arr2[100];
	char arr3[100];
	int a, b, c;
	char ch;
	printf("3.请输入值，按回车键结束：\n");

	//1.scanf接收，换行结束，【^\n】可以接收空格；数组arr1就是个地址，不用加&；
	//scanf("%[^\n]", arr1);

	//4.在scanf获取数据时，建议不要添加任何字符，空格除外。空格和回车换行，都属于接收结束标志； 
	//scanf("%d %d %d", &a, &b, &c);//1 2 4
	//scanf("a=%db=%dc=%d", &a, &b, &c);//a=1b=2c=4

	//5.有限定字符宽度的格式化；
	//scanf("%1d%2d%3d", &a, &b, &c);//123456
	//printf("2.输出a,b,c的值：%d,%d,%d\n", a, b, c);//1,2,4-->1,23,456
	//scanf("%1s%2s", arr1, arr2);//hello-->abc
	//printf("6.输出字符串arr1,arr2的值：%s,%s\n", arr1, arr2);//h,el-->a,bc

	//8.输入接收时，屏蔽数据类型，%*d屏蔽数字，%*c屏蔽字符。
	//scanf("%*d%s", arr3);//123hello
	//printf("7.输出屏蔽int类型的数字的字符串arr3的值：%s", arr3);//hello

	//10.屏蔽一个区间内的数字，也可以【a-z】屏蔽区间内的字符串；
	scanf("%*[0-9]%c", &ch);//33bc
	printf("9.输出屏蔽0-9数字的字符ch的值：%c", ch);//b---------------------------
	printf("---------------------------\n");

	printf("11.输出3.1415，保留两位小数：%.2f\n", 3.1415);//3.14
	printf("12.输出12，一共5位，前面用空格补全：%5d\n", 12);//   12
	printf("16.输出12，一共5位，后面用空格补全（左对齐）：%-5d\n", 12);//12
	printf("13.输出12，一共5位，前面用0补全：%05d\n", 12);//00012

	printf("14.输出ab，一共4位，前面用空格补全：%4s\n", "ab");//  ab
	printf("15.输出abcdef，一共4位，截取前4个数字：%.4s\n", "abcdef");//abcd

	return 0;
}